1. Field of the Invention
The present invention relates generally to a Low Density Parity Check, (LDPC) code, and in particular, to an LDPC code padding and puncturing method for defining regularities of puncturing and padding priorities for a parity part to be punctured and a systematic part to be padded and performing padding and puncturing by the bit or by the block accordingly thereto, thereby decreasing the structural complexity and improving performance at the required code rate.
2. Description of the Related Art
Recently, in the wireless communication field, an increasing need for various types of multimedia data has caused a rapidly increasing demand for a higher data rate and a broader service area. Thus, wireless Local Area Networks (LANs) and/or wireless Metropolitan Area Networks (MANs) have attracted great attention as technologies to fulfill the need for high-speed data transmission. Many related companies are making efforts to establish a further improved standard in alliance with each other.
Digital wireless communication schemes covering the wireless LAN field or the wireless MAN field use various types of error correction schemes to effectively remove and/or correct errors caused by various factors such as noise, distortion, and interference caused by data transmission. These error correction schemes can use convolutional codes or turbo codes. However, because of their functional and technical limitations, these schemes are difficult to apply to systems providing stable high-speed data communication required by new standards. Therefore, conventional coding is rapidly being replaced by an alternative coding that is based on LDPC codes having higher performance, lower decoding complexity, and higher decoding rate by parallel processing.
The LDPC code is defined as a parity check matrix H in which the number of ‘1’s in each row and column is less than the number of ‘0’s, and is used for determining whether decoding for a received signal was normally achieved. That is, if the product of a coded received signal and the parity check matrix is ‘0’, it is determined that there is no received error. Therefore, for the LDPC code, it is possible to first design a predetermined parity check matrix, whose product for every coded received signal can be ‘0’, and then inversely calculate a coding matrix G for coding a transmission signal according to the determined parity check matrix, or it is possible to directly calculate parities to be included in codewords a parity check matrix H according to various recently proposed calculation methods.
It will be assumed herein that the LDPC code is applied to the wireless LAN field.
In the wireless LAN field, an IEEE 802.11a/g-based system, whose maximum data rate of 54 Mbps which is greater than a data rate of 11 Mbps of the current IEEE 802.11b-based system, is commercially appearing. Moreover, a standard for a data rate and an improved quality-of-service (QoS) is being developed under the IEEE 802.11 standard.
Recently, wireless communication service providers have begun to provide high-speed wireless Internet service in “hotspot zones” using wireless LAN technologies. Moreover, even in the home network systems, wireless LAN technologies are appraised as one of the core technologies capable of interworking with the high-speed wired Internet access systems such as the xDSL or the cable modems. Accordingly, these technologies are considered capable of inexpensively realizing broadband wireless data service by interworking with systems which can support broad service areas, such as conventional cellular systems.
Recently, active standardization work for guaranteeing high data rates, improved QoS, and supporting mobility is being undertaken by a Task Group (TG) in IEEE 802.11. More particularly, a standard for the next generation wireless LAN has been established in early 2002 by Task Group N (TGn) in IEEE 802.11. The standard set forth by the TGn aims not only at increasing a data rate in a physical (PHY) layer but also at increasing transmission efficiency in an upper layer.
There are also two working groups known as TGn Sync and WwiSE in the TGn, and several companies jointly developing standards under these working groups.
A brief description will now be made of the details proposed in the TGn Sync working group (hereinafter TGn Sync). The TGn Sync is being defined to support a data rate of 243 Mbps in an mandatory mode and a data rate of up to a maximum of 630 Mbps in an optional mode. The TGn Sync adopts SDM technology that uses a maximum of 4 transmission antennas, and various types of MIMO-OFDM technologies including the beamforming technology based on a Singular Value Decomposition (SVD) scheme to increase performance and capacity. The TGn Sync uses the LDPC code in addition to the conventional convolutional code as a channel code, aiming at supporting a maximum of 630 Mbps in a 40 MHz band. In the proposed standard (i.e., the TGn Sync standard), the use of 20 MHz and 40 MHz bands is included in the mandatory mode, and particularly, a sub-carrier allocation method in a frequency domain of a 20 MHz band mode (which is similar to the existing IEEE 11a/g schemes) is provided to maintain compatibility with current IEEE 11a/g schemes. In the 40 MHz band, of a total of 128 sub-channels, 6 sub-channels are allocated to a pilot tone and 106 sub-channels are allocated to the data.
In the foregoing channel coding method defined by the TGn Sync, the LDPC code used for high-speed communication is defined such that it has the following detailed characteristics.
One base matrix is prepared for each of used code rates ½, ⅔, ¾, and ⅚ (or ⅞). Each base matrix having a total of 24 columns is divided into a systematic part and a parity part. The parity part is includes a dual-diagonal matrix (having a structure to which a column weight-3 column is further added).
For packet coding, two types of codewords with N=576 and N=1728 (where N defines a length) are used.
Table 1 below shows a relationship between LDPC code rates R, lengths N of codewords according thereto, and lengths K of systematic information included therein, defined by TGn Sync.
TABLE 1CodeCodewordInformationCodewordInformationrate (R)length (N)length (K)length (N)length (K)½1728864576288⅔17281152576384¾17281296576432⅚17281440576480⅞17281512576504
In order to cope with a random packet length using the above LDPC code rates and codeword lengths, the TGn Sync channel coding method defines a concatenation rule using both padding and puncturing schemes, thereby maintaining performance. The padding and puncturing schemes currently applied to the TGn Sync use consecutive patterns such as those defined in Equation 1, below.
                              C          i                =                  {                                                                      d                  0                  i                                ,                                  d                  1                  i                                ,                …                ⁢                                                                  ,                                  d                                                            K                      1                                        -                    1                                    i                                ,                                                      0                    ,                    0                    ,                    …                    ⁢                                                                                  ,                    0                    ,                                                        ︷                                          N                                              PAD                        ⁢                                                                                                  ⁢                        _                        ⁢                                                                                                  ⁢                        CW                                                                                                                        ︸                K                                      ⁢                                                            p                  0                  i                                ,                                  p                  1                  i                                ,                …                ⁢                                                                  ,                                  p                                                            M                      1                                        -                    1                                    i                                ,                                                                            p                                              M                        1                                            i                                        ,                    …                    ⁢                                                                                  ,                                          p                                              M                        -                        1                                            i                                                                            ︷                                          N                                              PUNCTURE                        ⁢                                                                                                  ⁢                        _                        ⁢                                                                                                  ⁢                        CW                                                                                                                        ︸                M                                              }                                    (        1        )            
In Equation (1), K denotes a length of systematic information, M denotes a length of parity information, NPAD_CW denotes a length to be padded per codeword, and NPUNCTURE_CW denotes a length to be punctured per codeword. That is, it is possible to transmit a variable-length packet at a predetermined code rate according to the above pattern. However, the above simple padding and puncturing scheme considers only the simple hardware realization, and performance verification for the scheme has not been carried out. The simple padding and puncturing scheme experiences differences in performance depending upon padding and puncturing patterns and padding and puncturing lengths which are actually used. In particular, for the puncturing, an increase in puncturing length causes a deterioration in performance.
Although research, which is not aimed at application to the TGn Sync, is being undertaken to determine optimal puncturing patterns for preventing performance deterioration due to the puncturing, currently proposed schemes cannot be applied to actual systems. Moreover, because various proposed puncturing pattern generation schemes are based on infinite codewords, they too cannot be readily applied to actual systems. The puncturing pattern generation schemes can decrease performance by implementing random puncturing or can increase performance by optimizing puncturing priorities according to puncturing length. However, a change in the puncturing length decreases efficiency by requiring the calculation of optimal puncturing order. In addition, because research on padding patterns having inconsiderable performance differences is relatively unsatisfactory, it is difficult to determine coding for which both padding and puncturing necessary for actively transmitting variable-length packets.